home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / prog / pbwiz17.zip / MINITERM.BAS < prev    next >
BASIC Source File  |  1993-06-05  |  3KB  |  94 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |         PBWIZ  Copyright (c) 1991-1993  Thomas G. Hanlin III         |
  4. '   |                                                                      |
  5. '   |                      PowerBASIC Wizard's Library                     |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9. ' This is another simple demo of the PBWiz routines.  It shows the telecomm
  10. ' routines in action.  Modem settings of 2400:N,8,1 are used.
  11.  
  12. ' Syntax:
  13. '   MINITERM [/COM1] [/COM2] [/COM3] [/COM4]
  14.  
  15.    $DIM ARRAY
  16.  
  17.    DECLARE FUNCTION TCInkey$ ()
  18.    DECLARE FUNCTION TCInkey0% ()
  19.    DECLARE FUNCTION TCInStat% ()
  20.    DECLARE SUB TCDone ()
  21.    DECLARE SUB TCDTR (INTEGER)
  22.    DECLARE SUB TCInit (INTEGER, INTEGER)
  23.    DECLARE SUB TCParms (STRING, INTEGER, INTEGER)
  24.    DECLARE SUB TCSpeed (LONG)
  25.    DECLARE SUB TCWrite (STRING)
  26.  
  27.    $LINK "pbwiz.pbl"
  28.  
  29.    DEFINT A-Z
  30.  
  31.    Cmd$ = LTRIM$(RTRIM$(UCASE$(COMMAND$)))
  32.    IF ((LEN(Cmd$) = 0) OR INSTR(Cmd$, "/?")) THEN
  33.       PRINT "MINITERM: Telecommunications Demo for PBWiz by Thomas G. Hanlin III"
  34.       PRINT
  35.       PRINT "Syntax:"
  36.       PRINT "  MINITERM [/COM1] [/COM2] [/COM3] [/COM4]"
  37.       PRINT
  38.       PRINT "Use ALT-X to exit the demo."
  39.       END
  40.    END IF
  41.    IF INSTR(Cmd$, "/COM1") THEN
  42.       CPort = 1
  43.    ELSEIF INSTR(Cmd$, "/COM2") THEN
  44.       CPort = 2
  45.    ELSEIF INSTR(Cmd$, "/COM3") THEN
  46.       CPort = 3
  47.    ELSEIF INSTR(Cmd$, "/COM4") THEN
  48.       CPort = 4
  49.    ELSE
  50.       CPort = 1
  51.    END IF
  52.  
  53.    TCInit CPort, ErrCode
  54.    IF ErrCode THEN
  55.       PRINT "Telecomm init error: "; ErrCode
  56.       END
  57.    END IF
  58.    TCSpeed 2400&
  59.    TCParms "N", 8, 1
  60.  
  61.    AltX$ = CHR$(0) + CHR$(45)
  62.    CLS
  63.    PRINT "MiniTerminal on COM"; CHR$(48 + CPort);": press ALT-X to exit."
  64.    LOCATE 3, 1, 1
  65.  
  66.    DO
  67.       GOSUB HandleCharsFromModem
  68.       ch$ = INKEY$
  69.       IF LEN(ch$) = 1 THEN TCWrite ch$
  70.    LOOP UNTIL ch$ = AltX$
  71.  
  72.    TCDTR 0
  73.    TCDone
  74.    END
  75.  
  76. HandleCharsFromModem:
  77.    WHILE TCInstat
  78.       ch = TCInkey0%
  79.       IF ch > 31 THEN               ' display text chars
  80.           PRINT CHR$(ch);
  81.        ELSEIF ch = 13 THEN          ' emulate <CR>
  82.           LOCATE , 1
  83.        ELSEIF ch = 10 THEN          ' emulate <LF>
  84.           PRINT
  85.        ELSEIF ch = 8 THEN           ' emulate <BS>
  86.           IF POS(0) > 1 THEN
  87.              LOCATE , POS(0) - 1
  88.              PRINT " ";
  89.              LOCATE , POS(0) - 1
  90.           END IF
  91.        END IF
  92.     WEND
  93.     RETURN
  94.